package com.itheima.arraylist;

import java.util.ArrayList;

/**
    目标：要求同学们掌握如何创建ArrayList集合的对象，并熟悉ArrayList提供的常用方法。

    arrayList和String类型的变量是一样的，都是new出来的对象，变量名都是存放堆内存的地址
    但是arrayList和String的变量在输出的时候都能够根据变量里面的地址，找到在堆内存的内容打印出来
    而不是像数组变量或者各种类变量（也就是数组对象，类对象）的直接打印，是输出一个十六进制的地址
 */
public class ArrayListDemo1 {
    public static void main(String[] args) {
        // 1、创建一个ArrayList的集合对象
        // ArrayList<String> list = new ArrayList<String>();
        // 从jdk 1.7开始才支持的
        ArrayList<String> list = new ArrayList<>();

        ArrayList lists= new ArrayList();
        lists.add(7);
        System.out.println(lists.get(0));
        lists.add(0,6);
        System.out.println(lists);

        list.add("黑马");
        list.add("黑马");
        list.add("Java");
        System.out.println(list);

        // 2、往集合中的某个索引位置处添加一个数据
        list.add(1, "MySQL");
        System.out.println(list);

        // 3、根据索引获取集合中某个索引位置处的值
        String rs = list.get(1);
        System.out.println(rs);

        // 4、获取集合的大小（返回集合中存储的元素个数）
        System.out.println(list.size());

        // 5、根据索引删除集合中的某个元素值，会返回被删除的元素值给我们
        String l = list.remove(1);
        System.out.println("在索引为1的时候被删除的元素是："+l);
        System.out.println(list);

        System.out.println("===========");


        // 6、删除指定的元素，返回删除是否成功
        boolean l1 =list.remove("java");
        System.out.println("删除Java是否成功："+l1);
        System.out.println(list);

        list.add(1, "html");
        System.out.println(list);

        System.out.println("==============");

        // 默认删除的是第一次出现的这个黑马的数据的
        System.out.println(list.remove("黑马"));
        System.out.println(list);

        System.out.println("=======");

        // 7、修改指定索引处的元素，返回被修改的元素
        System.out.println(list.set(1, "黑马程序员"));
        System.out.println(list);
    }
}



















